import axios from 'axios';
import { message } from 'ant-design-vue';

axios.defaults.baseURL = "http://localhost:5173"
const http = axios.create({
    timeout: 5000,
    headers: {
        'Content-Type':"application/json; charset=utf-8"
    }
})


axios.interceptors.request.use(config => {
    //发请求前做的一些处理，数据转化，配置请求头，设置token,设置loading等，根据需求去添加
    config.data = JSON.stringify(config.data); //数据转化,也可以使用qs转换
    return config
}, error => {
    Promise.reject(error)
})


// 3.响应拦截器

http.interceptors.response.use(
    response => {
        let res = response.data
        if(res.code === 200){
            return response
        }else{
            // element 弹窗
            if(res.data){
                message.error(res.data)
            }else if(res.msg){
                message.error(res.msg)
            }else{
                message.error(res)
            }
            return Promise.reject(res.msg)
        }
    },
    error =>{
        if(error.response.data){
            error.massage = error.response.data.msg
            message.error(error.massage)
        }
        if(error.response.code ===401){
            message.error(error.msg)

        }
        message.error(error.massage)
        return Promise.reject(error)
    }
)


/*http.interceptors.response.use(
    response => {
        let res = response.data
        if(res.code === 200){
            return response
        }else{
            // element 弹窗
            if(res.data){
                message.error(res.data)
            }else if(res.msg){
                message.error(res.msg)
            }else{
                message.error(res)
            }
            return Promise.reject(res.msg)
        }
    },
    error =>{
        if(error.response.data){
            error.massage = error.response.data.msg
            message.error(error.massage)
        }
        if(error.response.code ===401){
            message.error(error.msg)

        }
        message.error(error.massage)
        return Promise.reject(error)
    }
)*/

export default http